home *** CD-ROM | disk | FTP | other *** search
/ Fifty: Elektronik / FIFTY Elektronik (PS_Computer_Vertrieb).iso / ps8 / fty1017 / gepackt.exe / DISK2 / PLOTSRC.EXE / MACLIST.INC < prev    next >
Encoding:
Text File  |  1993-11-10  |  2.1 KB  |  110 lines

  1.  
  2. Procedure InitMacs;
  3.  
  4. Begin
  5.   Macrosfirst:=nil;
  6.   Macroslast:=nil;
  7. End;
  8.  
  9.  
  10. Procedure Entertolist(Var Name:Str10;
  11.                       Var Macroliste :Maclistptr);
  12.  
  13. begin
  14.   If Macrosfirst=nil Then
  15.     Begin
  16.       New(Macrosfirst);
  17.       Macroslast:=Macrosfirst;
  18.      End
  19.    Else
  20.      With Macroslast^ Do
  21.        Begin
  22.          New(Naechster);
  23.          Macroslast:=Naechster;
  24.        End;
  25.    With Macroslast^ Do
  26.      Begin
  27.        Macname:=Name;
  28.        Mac:=nil;
  29.        MaxRecs:=0;
  30.        Layers:=[];
  31.        New(Mac);
  32.        Mac^.Next:=nil;
  33.        Macroliste:=Mac;
  34.        Naechster:=nil;
  35.      End;
  36. end;
  37.  
  38.  
  39. Function SearchinList(Var Name :Str10;
  40.                       Var Nmax :Word;
  41.                       Var Foundptr :Macptr;
  42.                       Var Macroliste :Maclistptr):Boolean;
  43.  
  44.  
  45. Var Tempptr :Macptr;
  46.     Found   :Boolean;
  47.     C1      :Char;
  48. Begin
  49.   Tempptr:=Macrosfirst;
  50.   Found:=false;
  51.   Nmax:=0;
  52.   Macroliste:=nil;
  53.   C1:=Name[1];
  54.   While Not(Tempptr=nil) and Not(Found) Do
  55.   Begin
  56.     If (Tempptr^.Macname[1]=C1) and (Tempptr^.Macname=Name) Then
  57.       Begin
  58.         Found:=True;
  59.         Macroliste:=Tempptr^.Mac;
  60.         Nmax:=Tempptr^.MaxRecs;
  61.         Foundptr:=Tempptr;
  62.       End
  63.     Else Tempptr:=Tempptr^.Naechster;
  64.   End;
  65.   Searchinlist:=Found;
  66. End;
  67.  
  68.  
  69. Procedure EntertoMac(Var Bildrec :Bildelement;
  70.                      Var Firstfree :Maclistptr);
  71.  
  72. Begin
  73.   With FirstFree^ Do
  74.   Begin
  75.     Entry:=BildRec;
  76.     If Next=nil Then
  77.     Begin
  78.       New(Next);
  79.       Next^.Next:=nil;
  80.     End;
  81.     FirstFree:=Next;
  82.   End;
  83. End;
  84.  
  85.  
  86. Procedure ClearMacs;
  87. Var t1,Bldtmplist:MaclistPtr;
  88.     t2,listtmpptr:Macptr;
  89. Begin
  90.   listtmpptr:=Macrosfirst;
  91.   While listtmpptr<>nil do
  92.    With listtmpptr^ do
  93.     begin
  94.       bldtmplist:=Mac;
  95.       While bldtmplist<>nil do
  96.         with bldtmplist^ do
  97.         begin
  98.           t1:=bldtmplist;
  99.           bldtmplist:=Next;
  100.           Dispose(T1);
  101.         end;
  102.       Mac:=nil;
  103.       t2:=listtmpptr;
  104.       Listtmpptr:=Naechster;
  105.       dispose(t2);
  106.     end;
  107.   Macrosfirst:=nil;
  108.   Macroslast:=nil;
  109. End;
  110.